Personal portable communication apparatuses in the form of mobile or cellular telephones have become extremely popular and are in widespread use throughout the world. Moreover, mobile telephones have evolved from just portable analogues of traditional fixed-line telephones, no longer providing only voice communication, rather now having been developed into multi-faceted communication and alternative function devices providing a large range of communication and operability options including wide area network (e.g., internet) access as well as other functionalities such as numerous camera and/or scanning capabilities, inter alia. Indeed, mobile camera phones are in actuality computers with operably incorporated cameras disposed therewithin.
Input and/or output (I/O) of data into and/or out from mobile camera phones or like portable computing devices may take many forms. For an example particularly relevant hereto, data may be set in a printed pattern (e.g., a bar code) and can then be readable by the camera portion of a mobile camera phone to accelerate a data input operation. The camera can thus be a kind of two-dimensional (herein, also 2D) sensor; indeed, data patterns with 2D forms have been preferable. Even so, existing 2D codes, such as Data Matrix, QR code, MaxiCode, Axtec Code (these listed four being International Symbology Specification standards), etc., are designed for scanner-computer usage. Directly applying these codes to mobile camera phones is not practically feasible at least for current camera phone hardware. Existing 2D code standards are not specific for camera readable requirements. The code finder and size indication methods used in existing code standards normally require high resolution of scanning images. Current camera phones in the market cannot obtain that kind of resolution.
Rather, although the scanning of 2D codes representing digital data is well known, laser scanners have been traditionally used for such purposes. Compared with the abilities of such laser scanners, the images of 2D code taken by a conventional mobile phone camera are not usually of equivalent quality. For example, the mobile phone camera may produce relatively lower resolution and with much noise, and/or, the size of the images may be limited, the quality of the images may be poor since the 2D code in the images may be blurred and deformed caused by the too short distance photo-capture and perspective. The basic requirements of visual code size are as follows: The visual code size should grow proportionally with the amount of the data (in contrast to the Data Matrix modules as shown in FIG. 1, see discussion hereof below); meaning that there should be no sudden “jumps” in code size, and, instead the size should grow linearly with the data. Also, the code should be easy to detect and read independently of the size and amount of data in the code.
Thus the design of the code itself including the border, and the size indication (and the actual data encodation) as well then as of the code finder and reader should be robust for low quality images. Mobile phones with cameras may then be easily and reliably used to read such a code.
Note further that at least one other party is advertising products and/or software (SW) applications for the creation of codes and the decoding thereof by using a camera phone, see for example http://www.highenergymagic.com/.
Code reading capabilities are thus valuable to facilitate the usage of mobile services such as those which are available with mobile communication devices like mobile camera phones. Therefore, it is advantageous to develop code technologies better suited to the cameras of mobile camera phones.